home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / AIncludes / AIFF.a < prev    next >
Encoding:
Text File  |  1997-08-12  |  6.4 KB  |  205 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        AIFF.a
  3. ;
  4. ;    Contains:    Definition of AIFF file format components.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0.1
  8. ;
  9. ;    Copyright:    © 1989-1997, 1997 by Apple Computer, Inc., all rights reserved.
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__AIFF__') = 'UNDEFINED' THEN
  19. __AIFF__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.  
  25.  
  26. AIFFID                            EQU        'AIFF'
  27. AIFCID                            EQU        'AIFC'
  28. FormatVersionID                    EQU        'FVER'
  29. CommonID                        EQU        'COMM'
  30. FORMID                            EQU        'FORM'
  31. SoundDataID                        EQU        'SSND'
  32. MarkerID                        EQU        'MARK'
  33. InstrumentID                    EQU        'INST'
  34. MIDIDataID                        EQU        'MIDI'
  35. AudioRecordingID                EQU        'AESD'
  36. ApplicationSpecificID            EQU        'APPL'
  37. CommentID                        EQU        'COMT'
  38. NameID                            EQU        'NAME'
  39. AuthorID                        EQU        'AUTH'
  40. CopyrightID                        EQU        '(c) '
  41. AnnotationID                    EQU        'ANNO'
  42.  
  43. NoLooping                        EQU        0
  44. ForwardLooping                    EQU        1
  45. ForwardBackwardLooping            EQU        2                    ; AIFF-C Versions 
  46. AIFCVersion1                    EQU        $A2805140
  47.  
  48.  
  49.  
  50.                                                             ; Compression Types 
  51. NoneType                        EQU        'NONE'
  52. ACE2Type                        EQU        'ACE2'
  53. ACE8Type                        EQU        'ACE8'
  54. MACE3Type                        EQU        'MAC3'
  55. MACE6Type                        EQU        'MAC6'
  56. ; typedef unsigned long                 ID
  57.  
  58. ; typedef short                         MarkerIdType
  59.  
  60. ChunkHeader                RECORD 0
  61. ckID                     ds.l    1                ; offset: $0 (0)
  62. ckSize                     ds.l    1                ; offset: $4 (4)
  63. sizeof                     EQU *                    ; size:   $8 (8)
  64.                         ENDR
  65. ContainerChunk            RECORD 0
  66. ckID                     ds.l    1                ; offset: $0 (0)
  67. ckSize                     ds.l    1                ; offset: $4 (4)
  68. formType                 ds.l    1                ; offset: $8 (8)
  69. sizeof                     EQU *                    ; size:   $C (12)
  70.                         ENDR
  71. FormatVersionChunk        RECORD 0
  72. ckID                     ds.l    1                ; offset: $0 (0)
  73. ckSize                     ds.l    1                ; offset: $4 (4)
  74. timestamp                 ds.l    1                ; offset: $8 (8)
  75. sizeof                     EQU *                    ; size:   $C (12)
  76.                         ENDR
  77. ; typedef struct FormatVersionChunk *    FormatVersionChunkPtr
  78.  
  79. CommonChunk                RECORD 0
  80. ckID                     ds.l    1                ; offset: $0 (0)
  81. ckSize                     ds.l    1                ; offset: $4 (4)
  82. numChannels                 ds.w    1                ; offset: $8 (8)
  83. numSampleFrames             ds.l    1                ; offset: $A (10)
  84. sampleSize                 ds.w    1                ; offset: $E (14)
  85. sampleRate                 ds        extended80        ; offset: $10 (16)
  86. sizeof                     EQU *                    ; size:   $1A (26)
  87.                         ENDR
  88. ; typedef struct CommonChunk *            CommonChunkPtr
  89.  
  90. ExtCommonChunk            RECORD 0
  91. ckID                     ds.l    1                ; offset: $0 (0)
  92. ckSize                     ds.l    1                ; offset: $4 (4)
  93. numChannels                 ds.w    1                ; offset: $8 (8)
  94. numSampleFrames             ds.l    1                ; offset: $A (10)
  95. sampleSize                 ds.w    1                ; offset: $E (14)
  96. sampleRate                 ds        extended80        ; offset: $10 (16)
  97. compressionType             ds.l    1                ; offset: $1A (26)
  98. compressionName             ds.b    1                ; offset: $1E (30) <-- really an array of length one ;  variable length array, Pascal string 
  99.                          ORG 32
  100. sizeof                     EQU *                    ; size:   $20 (32)
  101.                         ENDR
  102. ; typedef struct ExtCommonChunk *        ExtCommonChunkPtr
  103.  
  104. SoundDataChunk            RECORD 0
  105. ckID                     ds.l    1                ; offset: $0 (0)
  106. ckSize                     ds.l    1                ; offset: $4 (4)
  107. offset                     ds.l    1                ; offset: $8 (8)
  108. blockSize                 ds.l    1                ; offset: $C (12)
  109. sizeof                     EQU *                    ; size:   $10 (16)
  110.                         ENDR
  111. ; typedef struct SoundDataChunk *        SoundDataChunkPtr
  112.  
  113. Marker                    RECORD 0
  114. id                         ds.w    1                ; offset: $0 (0)
  115. position                 ds.l    1                ; offset: $2 (2)
  116. markerName                 ds        Str255            ; offset: $6 (6)
  117. sizeof                     EQU *                    ; size:   $106 (262)
  118.                         ENDR
  119. MarkerChunk                RECORD 0
  120. ckID                     ds.l    1                ; offset: $0 (0)
  121. ckSize                     ds.l    1                ; offset: $4 (4)
  122. numMarkers                 ds.w    1                ; offset: $8 (8)
  123. Markers                     ds        Marker            ; offset: $A (10) <-- really an array of length one ;  variable length array 
  124. sizeof                     EQU *                    ; size:   $110 (272)
  125.                         ENDR
  126. ; typedef struct MarkerChunk *            MarkerChunkPtr
  127.  
  128. AIFFLoop                RECORD 0
  129. playMode                 ds.w    1                ; offset: $0 (0)
  130. beginLoop                 ds.w    1                ; offset: $2 (2)
  131. endLoop                     ds.w    1                ; offset: $4 (4)
  132. sizeof                     EQU *                    ; size:   $6 (6)
  133.                         ENDR
  134. InstrumentChunk            RECORD 0
  135. ckID                     ds.l    1                ; offset: $0 (0)
  136. ckSize                     ds.l    1                ; offset: $4 (4)
  137. baseFrequency             ds.b    1                ; offset: $8 (8)
  138. detune                     ds.b    1                ; offset: $9 (9)
  139. lowFrequency             ds.b    1                ; offset: $A (10)
  140. highFrequency             ds.b    1                ; offset: $B (11)
  141. lowVelocity                 ds.b    1                ; offset: $C (12)
  142. highVelocity             ds.b    1                ; offset: $D (13)
  143. gain                     ds.w    1                ; offset: $E (14)
  144. sustainLoop                 ds        AIFFLoop        ; offset: $10 (16)
  145. releaseLoop                 ds        AIFFLoop        ; offset: $16 (22)
  146. sizeof                     EQU *                    ; size:   $1C (28)
  147.                         ENDR
  148. ; typedef struct InstrumentChunk *        InstrumentChunkPtr
  149.  
  150. MIDIDataChunk            RECORD 0
  151. ckID                     ds.l    1                ; offset: $0 (0)
  152. ckSize                     ds.l    1                ; offset: $4 (4)
  153. MIDIdata                 ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array 
  154.                          ORG 10
  155. sizeof                     EQU *                    ; size:   $A (10)
  156.                         ENDR
  157. ; typedef struct MIDIDataChunk *        MIDIDataChunkPtr
  158.  
  159. AudioRecordingChunk        RECORD 0
  160. ckID                     ds.l    1                ; offset: $0 (0)
  161. ckSize                     ds.l    1                ; offset: $4 (4)
  162. AESChannelStatus         ds.b    24                ; offset: $8 (8)
  163. sizeof                     EQU *                    ; size:   $20 (32)
  164.                         ENDR
  165. ; typedef struct AudioRecordingChunk *    AudioRecordingChunkPtr
  166.  
  167. ApplicationSpecificChunk RECORD 0
  168. ckID                     ds.l    1                ; offset: $0 (0)
  169. ckSize                     ds.l    1                ; offset: $4 (4)
  170. applicationSignature     ds.l    1                ; offset: $8 (8)
  171. data                     ds.b    1                ; offset: $C (12) <-- really an array of length one ;  variable length array 
  172.                          ORG 14
  173. sizeof                     EQU *                    ; size:   $E (14)
  174.                         ENDR
  175. ; typedef struct ApplicationSpecificChunk * ApplicationSpecificChunkPtr
  176.  
  177. Comment                    RECORD 0
  178. timeStamp                 ds.l    1                ; offset: $0 (0)
  179. marker                     ds.w    1                ; offset: $4 (4)
  180. count                     ds.w    1                ; offset: $6 (6)
  181. text                     ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array, Pascal string 
  182.                          ORG 10
  183. sizeof                     EQU *                    ; size:   $A (10)
  184.                         ENDR
  185. CommentsChunk            RECORD 0
  186. ckID                     ds.l    1                ; offset: $0 (0)
  187. ckSize                     ds.l    1                ; offset: $4 (4)
  188. numComments                 ds.w    1                ; offset: $8 (8)
  189. comments                 ds        Comment            ; offset: $A (10) <-- really an array of length one ;  variable length array 
  190. sizeof                     EQU *                    ; size:   $14 (20)
  191.                         ENDR
  192. ; typedef struct CommentsChunk *        CommentsChunkPtr
  193.  
  194. TextChunk                RECORD 0
  195. ckID                     ds.l    1                ; offset: $0 (0)
  196. ckSize                     ds.l    1                ; offset: $4 (4)
  197. text                     ds.b    1                ; offset: $8 (8) <-- really an array of length one ;  variable length array, Pascal string 
  198.                          ORG 10
  199. sizeof                     EQU *                    ; size:   $A (10)
  200.                         ENDR
  201. ; typedef struct TextChunk *            TextChunkPtr
  202.  
  203.     ENDIF ; __AIFF__ 
  204.  
  205.